package com.yidu.hbatsft.dao;

import com.yidu.hbatsft.domain.AtsScheme;
import com.yidu.hbatsft.domain.AtsSchemeAthlete;
import com.yidu.hbatsft.domain.AtsSchemeExpert;
import com.yidu.privilege.Utils.Pages;
import com.yidu.utils.Page;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
@Mapper
public interface AtsSchemeMapper {

    int deleteByPrimaryKey(Integer schemeId);

    int insert(AtsScheme record);

    int insertSelective(AtsScheme record);

    AtsScheme selectByPrimaryKey(Integer schemeId);

    int updateByPrimaryKeySelective(AtsScheme record);

    int updateByPrimaryKey(AtsScheme record);

    /**
     * 心理训练查询所有
     * @return
     */
    List findAll(AtsScheme atsScheme);

    List<AtsScheme> findAllList();

    AtsScheme findAllById(Integer id);

    /**
     * 运动康复方案查询所有_专家
     * @param atsScheme
     * @return
     */
    List findAllExperkangfu(AtsScheme atsScheme);

    /**
     * 运动康复方案查询所有_教练
     * @param atsScheme
     * @return
     */
    List findAllCoachkangfu(AtsScheme atsScheme);
    /**
     * 运动康复方案查询所有_教练
     * @param atsScheme
     * @return
     */
    List findAllAthletekangfu(AtsScheme atsScheme);


    /**
     * 运动康复方案查询所有_领导
     * @param atsScheme
     * @return
     */
    List findAllLeaderkangfu(AtsScheme atsScheme);


    /**
     * 运动康复方案查列数_领导
     * @param atsScheme
     * @return
     */
    int LeaderkangfuCount(AtsScheme atsScheme);

    /**
     * 运动康复方案查列数_教练
     * @param atsScheme
     * @return
     */
    int CoachkangfuCount(AtsScheme atsScheme);
    /**
     * 运动康复方案查列数_专家
     * @param atsScheme
     * @return
     */
    int ExperkangfuCount(AtsScheme atsScheme);

    /**
     * 运动康复方案查列数_运动员
     * @param atsScheme
     * @return
     */
    int AthletekangfuCount(AtsScheme atsScheme);

    List<AtsScheme> selectfindAll(AtsScheme record);

    List selectAll(AtsScheme record);


    /**
     * 运动营养查询全部
     */
    List<AtsScheme> selectnutrition(AtsScheme record, Pages pages);


    /**
     * 运动营养查询总行数
     */
    Long selectnutritioncount(AtsScheme record);


    /**
     * 运动营养新增
     */
    int insertnutrition(AtsScheme record);

    /**
     * 运动营养逻辑删除
     */
    int deletenutrition(Integer schemeId);



    /**
     * 运动营养根据id查询
     */
    AtsScheme selectnutritionid(Integer schemeId);


    /**
     * 运动营养修改
     */
    int updatenutrition(AtsScheme record);


    /**
     * 运动营养模糊查询
     *
     * @return
     */
    List<AtsScheme> selectnutritionVague(String newTitle);


    /**
     * 运用营养 查询按钮功能
     * @param id
     * @return
     */
    AtsScheme nutritionfindAllById(Integer id);

    /**
     * 根据方案ID修改Isva
     * @param schemeId
     * @return
     */
    int updatestate(Integer schemeId);

    /**
     * 统计心理训练方案条数
     * @return
     */
    Long count(AtsScheme atsScheme);

    List<AtsScheme> selectExpert(AtsScheme atsScheme);

    Long countExpert(AtsScheme atsScheme);

    List<AtsScheme> selectAudit(AtsScheme atsScheme);

    Long countAudit(AtsScheme atsScheme);

    List<AtsScheme> selectAthlete(AtsScheme atsScheme);

    Long countAthlete(AtsScheme atsScheme);

    /**
     * 运动营养查询出专家的记录
     */
    List<AtsScheme> selectExpertnu(AtsScheme atsScheme);

    /**
     * 运动营养查询出专家的记录 总行数
     */
    Long countExpertnu(AtsScheme atsScheme);


    /**
     * 运动营养查询出领导要审核的记录
     */
    List<AtsScheme>  selectAuditnu(AtsScheme atsScheme);

    /**
     * 运动营养查询出领导要审核的记录 总行数
     */
    Long countAuditnu(AtsScheme atsScheme);


    /**
     * 运动营养查询出运动员要查看的记录
     */
    List<AtsScheme> selectAthletenu(AtsScheme atsScheme);


    /**
     * 运动营养查询出运动员要查看的记录 总行数
     */
    Long countAthletenu(AtsScheme atsScheme);



    /**
     * 运动营养查询出教练要查看的记录
     */
    List<AtsScheme> findAllnu(AtsScheme atsScheme);


    /**
     * 运动营养查询出教练要查看的记录 总行数
     */
    Long countnu(AtsScheme atsScheme);


    /**
     * 运动营养查询出超级管理员要查看的记录
     */
    List<AtsScheme> supers(AtsScheme atsScheme);


    /**
     * 运动营养查询出超级管理员要查看的记录  总行数
     */
    Long supercountnu(AtsScheme atsScheme);
}